#ifndef _COMPILETIMECHECKER_H_
#define _COMPILETIMECHECKER_H_


namespace utillib
{
	namespace util
	{
		template < bool > struct CompileTimeChecker
		{
			CompileTimeChecker( ... );
		};
		template <> struct CompileTimeChecker < false >{};
	}
}

#define	CompileTimeAssert( expr , msg )\
{\
	class assert_##msg{};\
	( void )sizeof( utillib::util::CompileTimeChecker < ( expr ) != 0 > ( ( assert_##msg() ) ) );\
}

#endif